The software development process of a computer program entails one or more developers writing source files. The source files of the computer program are written in a textual format, in a given computer programming language, such as C++, or another type of computer programming language. Once the source files have been sufficiently developed, a binary object file is generated from the source files. For example, the source files may undergo compiling by a compiler to yield the binary object file. The binary object file may be directly executable to execute the computer program, such that it is an executable binary object file, or it may be an intermediate file, which is then parsed or interpreted, for instance, to execute the computer program.
A developer may have in his or her possession a number of source files and a binary object file that purportedly has been generated based on the source files in question. However, the developer has no easy way of knowing if the binary object file has indeed been generated from these source files, and/or whether the binary object file has been maliciously or otherwise modified after having been generated from these source files. Currently, the developer has to re-generate the binary object file from the source files provided to ensure that he or she has a binary object file that is positively based on these source files. However, this binary object generation process is circuitous where the developer already has a binary object file purportedly generated from the source files, and where he or she just wants to verify that the binary object file has indeed been generated from these source files.
For these and other reasons, there is a need for the present invention.